package yh;

/**
 * 冒泡排序
 */
public class BubbleSort {
    public static void main(String[] args) {
        //定义数组
        int[] arr={1,11,9,3,7,5};
        //排序
        //如果有6个数，比较5轮就可以了，剩下一个一定是最小的
        for (int i = 0; i <arr.length-1; i++) {//控制比较轮次，一共是arr.length-1
            //因为是j和j+1比较所以j<arr.length-1,
            //思想：第一趟比较晚最后那个一定是最大的，则下一次比较就会比较j<arr.length-1-i个数
            // （起初有两个下标，第一个下标指向j，第二个下标指向j+1）,大的向后飘，即第一轮比完会出现一个最大的，
            // (第二轮两下标同时向右移)第二轮出现次大的....
            for(int j=0;j<arr.length-1-i;j++){
                //比较相邻元素，交换相邻下标位置
                if(arr[j]>arr[j+1]){
                    int t=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=t;
                }
            }
        }
        //打印数组
        for (int i = 0; i <arr.length ; i++) {
            System.out.println(arr[i]);
        }
    }
}
